﻿using SharpArch.Core.DomainModel;
using SharpArch.Core.PersistenceSupport;
using NHibernate.Validator.Constraints;
using SharpArch.Core;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Collections.Generic;

namespace zeus.Core
{
    public class PlanEvento : Entity
    {
        public virtual int CodigoPlanCliente { get; set; }

        [DisplayName("Tipo")]
        public virtual int CodigoTipoEvento { get; set; }

        public virtual int? CodigoTipoDetalle { get; set; }

        [DisplayName("Alerta activada")]
        public virtual int? CodigoTipoAlerta { get; set; }

        [DisplayName("Ruta")]
        public virtual int CodigoPoligono { get; set; }

        public virtual PlanCliente PlanCliente { get; set; }

        public virtual TipoEvento TipoEvento { get; set; }

        public virtual TipoDetalle TipoDetalle { get; set; }

        public virtual Poligono Poligono { get; set; }
        
        public virtual int HoraDesde { get; set; }

        public virtual int HoraHasta { get; set; }

        public virtual int MinutoDesde { get; set; }

        public virtual int MinutoHasta { get; set; }

        [DisplayName("Transmisiones")]
        public virtual int Transmision { get; set; }

        [DisplayName("Tipo de transmisión")]
        public virtual int TipoTransmision { get; set; }

        [DisplayName("Comentario")]
        public virtual string Observacion { get; set; }

        public virtual bool Lunes { get; set; }

        public virtual bool Martes { get; set; }

        public virtual bool Miercoles { get; set; }

        public virtual bool Jueves { get; set; }

        public virtual bool Viernes { get; set; }

        public virtual bool Sabado { get; set; }

        public virtual bool Domingo { get; set; }

        public virtual int Valor1 { get; set; }

        [DisplayName("Mensajes")]
        public virtual int Valor2 { get; set; }

        [DisplayName("Transmitir con el Motor Parado")]
        public virtual bool Check1 { get; set; }
    }
}
